iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0

Malcolm Documentation 架構總覽

Malcolm
│
├─ ① 資料來源
│   ├─ PCAP
│   ├─ Zeek Logs
│   ├─ Suricata Alerts
│   └─ Network Traffic
│
├─ ② 流量擷取 / Sensor
│   ├─ Malcolm All-in-One
│   ├─ Hedgehog Linux Sensor
│   ├─ netsniff-ng
│   └─ tcpdump
│
├─ ③ 網路流量分析
│   ├─ Zeek
│   │   └─ Network Metadata / Protocol Analysis
│   │
│   ├─ Suricata
│   │   └─ IDS / Threat Detection
│   │
│   └─ Arkime
│       ├─ PCAP Processing
│       ├─ Session Analysis
│       └─ PCAP Export
│
├─ ④ 資料處理與整合
│   ├─ Filebeat
│   ├─ Logstash
│   ├─ Enrichment
│   ├─ Correlation
│   └─ Threat Intelligence
│
├─ ⑤ 資料儲存
│   ├─ OpenSearch
│   │   └─ Network Metadata / Session Data
│   │
│   ├─ PostgreSQL
│   │   └─ Configuration / State
│   │
│   └─ Valkey
│       └─ Cache / Session Information
│
├─ ⑥ 分析與使用者介面
│   ├─ OpenSearch Dashboards
│   │   ├─ Dashboard
│   │   ├─ Visualization
│   │   └─ Anomaly Detection
│   │
│   └─ Arkime Viewer
│       ├─ Session Search
│       ├─ Session Analysis
│       └─ Payload / PCAP
│
├─ ⑦ 資安分析與擴充
│   ├─ Strelka
│   │   └─ File Analysis
│   ├─ YARA
│   ├─ Capa
│   ├─ ClamAV
│   ├─ MISP / TAXII
│   ├─ NetBox
│   └─ CyberChef
│
└─ ⑧ 平台與安全管理
    ├─ Docker / Podman
    ├─ Kubernetes
    ├─ Keycloak
    ├─ OpenResty
    ├─ LDAP
    ├─ TLS / HTTPS
    └─ REST API

官方 Components 頁面列出的元件非常多,包括 Arkime、OpenSearch、Logstash、Filebeat、Zeek、Suricata、Strelka、Threat Intelligence、NetBox、PostgreSQL、Valkey、Keycloak、OpenResty 等,所以如果直接照官方元件清單介紹,文章很容易變成「元件百科」。Malcolm


Malcolm 六層架構

                    ┌──────────────────────┐
                    │   SOC / Analyst      │
                    │  調查、Threat Hunt   │
                    └──────────┬───────────┘
                               │
                ┌──────────────┴──────────────┐
                │                             │
        OpenSearch Dashboards          Arkime Viewer
                │                             │
                └──────────────┬──────────────┘
                               │
                     ┌─────────▼─────────┐
                     │    Data Store     │
                     │    OpenSearch     │
                     │ PostgreSQL/Valkey │
                     └─────────┬─────────┘
                               │
                     ┌─────────▼─────────┐
                     │ Processing Layer  │
                     │ Logstash/Filebeat │
                     │   Enrichment      │
                     └─────────┬─────────┘
                               │
              ┌────────────────┴────────────────┐
              │                                 │
        ┌─────▼─────┐                     ┌─────▼─────┐
        │    Zeek   │                     │ Suricata  │
        │   分析    │                     │   偵測    │
        └─────┬─────┘                     └─────┬─────┘
              │                                 │
              └────────────────┬────────────────┘
                               │
                     ┌─────────▼─────────┐
                     │ Capture / Sensor  │
                     │                   │
                     │ Malcolm           │
                     │ Hedgehog Linux    │
                     │ tcpdump / others  │
                     └─────────┬─────────┘
                               │
                     ┌─────────▼─────────┐
                     │ Network Traffic   │
                     │ PCAP / SPAN / TAP │
                     └───────────────────┘

這個圖比較接近「理解 Malcolm」需要的架構,而不是單純列出 Container 名稱。


各層到底負責什麼?

層級 主要元件 主要工作
① 資料來源 PCAP、SPAN、TAP、Network Traffic 提供網路流量
② Capture / Sensor Malcolm、Hedgehog、tcpdump 擷取或接收流量
③ Analysis Zeek、Suricata、Arkime 分析、偵測、Session / PCAP
④ Processing Filebeat、Logstash 收集、解析、整理、豐富資料
⑤ Storage OpenSearch、PostgreSQL、Valkey 儲存分析資料與系統狀態
⑥ Analyst OpenSearch Dashboards、Arkime Viewer 搜尋、視覺化、調查

這樣就很好理解 Malcolm 的資料流向。


另外要獨立看「資安擴充能力」

這些不一定要塞進核心資料流,可以放在架構旁邊:

                 Malcolm
                    │
       ┌────────────┼────────────┐
       │            │            │
   Threat Intel   File Scan   Asset Info
       │            │            │
   MISP/TAXII    Strelka       NetBox
                    │
              ┌─────┼─────┐
              │     │     │
             YARA  Capa  ClamAV

官方文件中,Strelka 負責檔案掃描,並搭配 YARA、Capa、ClamAV;Threat Intelligence 可以來自 MISP、TAXII、Google、Mandiant;NetBox 則用來提供資產資訊並 enrich 網路資料。Malcolm

這一層我建議在文章裡稱為:

「延伸分析能力」

不要把它跟 Zeek、Suricata、OpenSearch 放在同一個層級,讀者會比較容易理解。


最後再看「部署架構」

A. All-in-One

             Network
                │
                ▼
        ┌────────────────┐
        │    Malcolm     │
        │                │
        │ Capture        │
        │ Zeek           │
        │ Suricata       │
        │ Arkime         │
        │ OpenSearch     │
        │ Dashboards     │
        └────────────────┘

適合 Lab、PoC、規模較小的環境。官方稱為 standalone / all-in-one deployment。Malcolm

B. Sensor + Malcolm

                    Network
                       │
             ┌─────────┴─────────┐
             │                   │
          Sensor              Sensor
             │                   │
        Hedgehog Linux      Hedgehog Linux
             │                   │
             └─────────┬─────────┘
                       │
                       ▼
              ┌─────────────────┐
              │     Malcolm     │
              │    Aggregator   │
              │                 │
              │ Zeek            │
              │ Suricata        │
              │ OpenSearch      │
              │ Arkime          │
              └─────────────────┘

這比較接近企業環境。

例如不同機房、不同 VLAN 或不同 Network TAP 都可以部署 Sensor,再把 Metadata 或相關資料集中送到 Malcolm Aggregator。官方的 Hedgehog Linux 就是為這種網路 Sensor 情境設計。Malcolm

C. Kubernetes / Distributed

             Network Sensors
                   │
                   ▼
          ┌──────────────────┐
          │    Kubernetes    │
          │                  │
          │ Malcolm Services │
          │ OpenSearch       │
          │ Arkime           │
          │ Zeek             │
          │ Suricata         │
          └────────┬─────────┘
                   │
                   ▼
            External Storage

官方也支援 Kubernetes,用於分散式或 Cloud / On-Premises 部署,並提供 Helm Chart 作為較具擴充性的部署方式。Malcolm


Day 1|認識 Malcolm
│
├─ 1. Malcolm 是什麼?
├─ 2. Malcolm 可以解決什麼問題?
├─ 3. Malcolm 核心元件
├─ 4. Malcolm 六層架構
└─ 5. 一次看懂資料如何進入 Malcolm


Day 2|部署 Malcolm 與實際分析
│
├─ 1. 部署方式選擇
│   ├─ All-in-One
│   ├─ Sensor + Aggregator
│   └─ Kubernetes
│
├─ 2. 安裝環境與硬體需求
├─ 3. Docker / Container 架構
├─ 4. PCAP / Zeek / Suricata 資料匯入
├─ 5. OpenSearch 與 Arkime 實際操作
└─ 6. Incident Response 實例

上一篇
[Day 21 ] 認識 Malcolm
下一篇
[Day 22 ] Malcolm Components 架構
系列文
從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台 共 35 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言